编程智能体的核心组件
What it is
编程智能体不是单个 LLM,而是“模型 + harness + 工具 + 上下文 + 记忆 + 反馈”的循环系统。Coding harness 是 agent harness 的软件工程特化版,负责让模型在代码库里收集上下文、调用工具、执行测试、压缩历史、维护会话记忆,并在必要时委派子任务。
Why it matters
Claude Code、Codex、Cursor 等工具的差异并不只来自底层模型。很多“更聪明”的体验来自系统如何喂上下文、如何限制工具、如何缓存提示词、如何处理长任务、如何用测试和用户反馈闭环。
Evidence across sources
- Sebastian Raschka 的框架将 coding agent 拆为 live repo context、prompt shape/cache reuse、tool access/use、context bloat minimization、structured session memory、bounded subagents。
- 简述版和详述版原本是同一来源的重复吸收,现合并为一个 candidate concept。
- 相关系统案例见 claude-code/overview、harness-engineering/agentic-software-is-systems-engineering、harness-engineering/managed-agents-architecture。
Six Components
- Live repo context:理解 Git 状态、代码结构、依赖、规范和相关文件。
- Prompt shape and cache reuse:稳定系统前缀、工具说明和工作区摘要应被缓存,动态内容应保持可控。
- Tool access and use:模型提出结构化动作,harness 验证参数、权限和路径,再执行并回传结果。
- Context bloat minimization:裁剪长日志、总结历史、去重早期文件读取,防止上下文污染。
- Structured session memory:工作记忆保持任务连贯性,完整 transcript 支持恢复和审计。
- Bounded subagents:把只读调查、搜索、验证等任务委派给范围受限的子 agent。
Open questions
- 这个 taxonomy 是否适用于非编程 agent,还是 coding agent 特有?
- 哪些组件应内建在产品里,哪些应暴露给用户作为可配置 harness?
- OpenClaw 这类通用本地 agent 平台是否需要同样的六组件健康检查?